package com.chuangjiangx.member.basic.ddd.dal.mapper;

import com.chuangjiangx.member.basic.ddd.dal.dto.*;
import com.chuangjiangx.member.stored.ddd.dal.condition.MbrOrderCountCondition;
import com.chuangjiangx.member.stored.ddd.dal.condition.AppOrderCountCondition;
import com.chuangjiangx.member.stored.ddd.dal.dto.AppOrderStreamCount;
import com.chuangjiangx.member.stored.ddd.dal.dto.AppOrderStreamDetail;
import com.chuangjiangx.member.stored.ddd.dal.dto.MbrOrderCountInfo;

import java.util.List;

/**
 * @author cj-ch
 * @date 2018/6/19 下午5:18
 * mbrcount 最后消费时间  累计消费次数
 */
public interface MbrCountDalMapper {

    //查询新增会员
    MbrCount appCountMembers(AppOrderCountCondition condition);

    //按照天数查询
    List<TimeScales> appCountTimeScaleByDay(AppOrderCountCondition condition);

    //按照小时查询
    List<TimeScales> appCountTimeScaleByHour(AppOrderCountCondition condition);

    //按照性别查询
    List<SexScales> appCountSexScale(AppOrderCountCondition condition);

    //按照终端分组查询
    List<TerminalScales> appCountRegistoryTerminalScale(AppOrderCountCondition condition);
    //按照门店分组查询
    List<StoreScales> appCountStoreScale(AppOrderCountCondition condition);

    //查询会员活跃
    List<Actives> appCountMbrActiveScale(AppOrderCountCondition condition);

    AppOrderStreamCount appOrderStreamCount(AppOrderCountCondition condition);

    List<AppOrderStreamDetail> appOrderStreamDetails(AppOrderCountCondition condition);

    //按性别分组查询会员总数
    List<AppSexGroup> appSexMemberGroup(AppOrderCountCondition condition);


    /*  web  */

    MbrOrderCountInfo webOrderCountInfo(MbrOrderCountCondition condition);
}
